# 完成以下需求课堂练习：
# 需求: 银行存款有1000块钱，获取客户的取款金额，判断取出是否少于等于银行卡，
# 只有少于等于银行卡的金额才能取出，最后打印出银行卡的余额
# deposit = 1000
# money = float(input('请输入取款金额：'))
# if money <= 0:
#     print('取款金额必须大于0')
# elif money > deposit:
#     print('取款金额超过账户余额')
# else:
#     deposit -= money
#     print(f'余额剩余{deposit}元')

# 需求：从键盘录入一个整数让程序判断是奇数还是偶数
# num = int(input('请输入一个整数'))
# if num % 2 == 0:
#     print(f'{num}是偶数')
# else:
#     print(f'{num}是奇数')
# #
# 需求： 判断一个人是否是会员
# Y
# N
# 如果是会员：
# >= 200
# 8
# 折
# >= 100
# 9
# 折
# 小于100
# 不打折
# 如果不是会员：
# >= 200
# 9.5
# 折
# 小于200
# 不打折
# member = input("请问是否是会员，是的话输y,否则输n：  ")
# if member == 'y':
#     money = eval(input('请输入你消费金额：'))
#     if money >= 200:
#         print(money * 0.8)
#     elif (money >= 100) and money < 200:
#         print(money * 0.9)
#     else:
#         print(money)
# else:
#     money = eval(input('请输入你消费金额：'))
#     if money >= 200:
#         print(money * 0.95)
#     else:
#         print(money)
"""
参考：






1、下列变量名哪些是合法的？为什么？
2nd_place，错
my-name，错
_private_var，对
class，对
user_name，对

2、写出以下变量的值及其对应的数据类型：
a = 123，整数型=int
print(a,type(a))
b = "Hello, World!"，字符串型=str
print(b,type(b))
c = 3.14，浮点型-float
print(c,type(c))
d = True，布尔型-bool
print(d,type(d))
e = False，布尔型-bool
print(e,type(e))

3、完成以下代码，使其输出正确的结果，并解释为什么是50100
num1 = "100"
num2 = 50
print('50'+'100')
str(num) '50'
print(int(num1)+num2)


# 将 num1 转换为整数并赋值给变量 num3
num3 = str(num2)

print(int(num1))
num3=num1
print(num3)

# 计算 num3 和 num2 的和，赋值给变量 total
total = num3 + num2
print(total)

print(num2, type(num2))
print(num3, type(num3))
total=int(num3)+num2
print(total)

4、编写代码，输入一个整数，判断它是否为偶数。如果是偶数，输出“这是一个偶数”；否则输出“这是一个奇数”。
num = int(input('输入一个整数'))
if num%2==0:
    print('这是一个偶数')
else:
    print('这是一个奇数')

5、编写代码，输入一个学生的成绩（0-100），根据成绩评定等级：
90-100：优秀
80-89：良好
70-79：中等
60-69：及格
0-59：不及格
student = int(input('输入一个学生的成绩'))
if 0 <= student <=100:
 if student > 89:
  print('优秀')
 elif student > 79:
  print('良好')
 elif student > 69:
  print('中等')
 elif student > 59:
  print('及格')
 else:
  print('不及格')

6、编写代码，输入一个年龄，判断其属于哪个阶段：
0-12岁：儿童
13-17岁：青少年
18-59岁：成年人
60岁以上：老年人
age = int(input('请输入一个年龄'))
if age < 0:
 print('无效年龄')
elif age < 13:
 print('儿童')
elif age < 18:
 print('青少年')
elif age < 60:
 print('成年人')
else:
 print('老年人')


7、给定一个正整数，判断它是否能同时被3、5、7整除。
num = int(input('一个整数'))
if num % 3 == 0 and num % 5 == 0 and num % 7 == 0:
 print(f'{num}能同时被3,5,7整除')
else:
 print(f'{num}不能同时被3,5,7整除')

完成课堂练习：

1. # "this is a book",请将字符串里的book替换成apple
s1 = 'this is a book'
s2 = s1.replace('a','an')
print(s2.replace('book','apple'))
2. "{name}喜欢{fruit}".format(name="李雷") 执行会出错，请修改代码让其正确执行
print('{}喜欢{}'.format('李雷','fruit'))
3. # 有一个字符串 string =  "python修炼第一期.html"，请写程序从这个字符串里获得.html前面的部分
string = "python修炼第一期.html"
string1 = string[0:11:]
print(string1)

print(f'{name}喜欢{fruit}')

作业练习：

1.输入两个整数，如果2个数相等则输出“这两个数相等”,否则判断两个数的乘积，如果大于30则输出“这两个数的积大于30”,否则输出“这两个数的积不大于30”
num1 = int(input('请输入第一个整数：'))
num2 = int(input('请输入第二个整数：'))
if num1 == num2:
    print('这两个数相等')
else:
    if num1 * num2 <= 30:
        print('这两个数的积不大于30')
    else:
        print('这两个数的积大于30')

2.要求用户输入4个整数，然后放到列表中，并且从小到大排列，再输出其中的最大值和最小值
num1 = int(input('请输入第一个整数： '))
num2 = int(input('请输入第二个整数： '))
num3 = int(input('请输入第三个整数： '))
num4 = int(input('请输入第四个整数： '))
lst = []
lst.append(num1)
lst.append(num2)
lst.append(num3)
lst.append(num4)
list1 = eval(input('请输入第一个列表，存储4个数字，用,隔开： '))


lst1 = sorted(lst)
print(lst1)
print('最大值',max(lst))
print('最小值',min(lst))

3.猜一个随机0-100的数字游戏，要求每次输入提示正确、猜大了、猜小了，最多允许猜7次
（随机整数用randint获取）
（7次用for和range构建）
import random
s = random.randint(0,100)
for i in range(7):
    num = int(input('请输入一个0-100内的整数： '))
    if num >s:
        print('猜大了，请继续猜吧')
    elif num < s:
        print('猜小了，请继续猜吧')
    else:
        print('恭喜你，猜对了！')
        break

4.编写一个程序，要求用户输入账号和密码，已知已注册的账号为：51testing，密码为：123456
如果用户输入账号和密码正常，那么输出：登录成功，否则输出登录失败，提示账号或者密码错误
username = str(input('请输入账号： '))
password = str(input('请输入密码： '))
if username == '51testing' and password == '123456':
    print('登陆成功')
else:
    print('登录失败，账号或密码错误')
5.输出0-100之间，能被3整除的数
for i in range(1,101):
    if i % 3 == 0:
        print(i)

# 6.有一个水果列表 fruits = ["苹果", "梨子", "奇异果", "哈密瓜" ]
# a. 获取用户输入的数据在列表里新增一条该数据，展示新的列表
# b. 用户输入索引，显示对应的水果
fruits = ["苹果", "梨子", "奇异果", "哈密瓜" ]
shuiguo = input('请输入水果： ')
fruits.append(shuiguo)
print(fruits)
num = int(input('请输入一个索引整数： '))
print(fruits[num])"""
# 7.将字符串 s = "alex"转换为列表
s = 'alex'
# s1 = list(s)
# print(s1, type(s1))
# s = ('alex')
# print(s.split())

"""
lst = []
for i in range(len(s)):
    lst.append(s[i])
print(lst)
# 8.使用字符串方法求出一个数是不是水仙花数（查一下什么是水仙花数）
水仙花数是指一个三位数,每个位数上数字的3次幂之和等于数字它本身
通过取余取整的方式获取一个数字的：个位，十位，百位
如果个十百位的3次方加起来等于这个数字本身那么就是水仙花数
比如：153=1**3+5**3+3**3
方法1：
lst = []
num = input('请输入一个三位数： ')
for i in range(3):
    lst.append(num[i])
print(lst)
if ((int(lst[0]))**3 + (int(lst[1]))**3 + (int(lst[2]))**3) == int(num):
    print('输入的三位数是水仙花数')
else:
    print('输入的数不是水仙花数')

方法2：
num = int(input('请输入一个三位整数： '))
num1 = num // 100
num2 = num //10 % 10
num3 = num % 10
if  len(str((num)))!=3:
    print('傻逼，重新输入')
    num4 = int(input('请输入一个三位整数： '))
    num5 = num4 // 100
    num6 = num4 // 10 % 10
    num7 = num4 % 10
    if num5**3+num6**3+num7**3 == num4:
        print('是水仙花数')
    else:
        print('不是水仙花数')
else:

    if num1**3+num2**3+num3**3 == num:
        print('是水仙花数')
    else:
        print('不是水仙花数')"""

#
# 1、输入一个年份，和一个月份，计算该月有多少天其中需要判断闰年，闰年的条件为：
# 年份能被4整除但不能被100整除，或者年份能被400整除
# y = eval(input('请输入一个年份：'))
# m = eval(input('请输入一个月份：'))
# if y % 4 == 0 and y % 100 != 0 or y % 400 == 0:
#     if m in (1, 3, 5, 7, 8, 10, 12):
#         print(f'{m}月有31天')
#     # elif m in (4, 6, 9, 11,):
#     #     print(f'{m}月有30天')
#     elif m == 2:
#         print(f'{m}月有29天')
#     else:
#         print(f'{m}月有30天')
# else:
#     if m in (1, 3, 5, 7, 8, 10, 12):
#         print(f'{m}月有31天')
#     # elif m in (4, 6, 9, 11,):
#     #     print(f'{m}月有30天')
#     elif m == 2:
#         print(f'{m}月有28天')
#     else:
#         print(f'{m}月有30天')
#
# 2.要求用户输入一串字符，如果字符中有a那么把a字符替换成大写A，并且将输入的字符串反转
# s=input('请输入一串字符：')
# s1=s.replace('a','A')
# print(list(s1[::-1]))
#
# 3.随机获取8个，1-10的整数，然后存放到列表，要求把重复的数据去掉
import random

# lst1 = [random.randint(1, 10) for i in range(8)]
# print(lst1)
# print('--'*100)
# lst2 = []
# for i in range(8):
#     lst2.append(random.randint(1, 10))
# else:
#     print(lst2)
# s1 = list(set(lst1))
# print(s1)
#
# 4.编写一个函数 celsius_to_fahrenheit，写一个形参:C,将摄氏温度转换为华氏温度。公式为：F= C×9/5 +32，返回F的华氏温度
# def celsius_to_fahrenheit (C):
#     F = C*9 / 5 + 32
#     return F
#
#
# print(celsius_to_fahrenheit(38.6))
#
# 5.将九九乘法表封装成函数，然后调用
# def table():
#     for a in range(1, 10):
#         for b in range(1, a + 1):
#             print(f'{b}*{a}={a * b}', end=('\t'))
#         print()
#
# table()
#
# 6.完成逢7过的游戏(1-100之间)：能够被7整除或者数字包含7全部跳过
# for i in range(1,101):
#     if i%7==0 or "7" in str(i):
#         continue
#     print(i,end=' ')


# 输出1-100所有偶数存放到列表


# lst1 = [random.randint(1, 10) for i in range(8)]

list1 = [i for i in range(1, 101) if i % 2 == 0]
print(list1)
print('--' * 100)
list1 = [i for i in range(1, 101) if i % 2 != 0]
print(list1)
